#include<stdlib.h>
#include<stdio.h>
#include<unistd.h>

int main (void)
{
    int ret1, ret2;    
    ret1 = fork();
        
    if(ret1)// Pai e Filho são criados
    {
      puts("Dentro do if de ret1");
      printf("EU: %d; MEU FILHO: %d\n", getpid(), ret1);
     
    }
    else// 1 Filho executa
    {
	puts("Dentro do else de ret1");
	printf("EU %d; SOU NO FOLHA %d e MEU PAI: %d \n", getpid(), ret1, getppid());
    }
    
    ret2 = fork();
         
    if(ret2)// 1 Pai executa, cria o segundo filho e finaliza
    {	    // 2 pai executa, cria o primeiro filho e tambem finaliza
      puts("Dentro do if de ret2");
      printf("EU %d; ret 1(FILHO): %d; ret 2: %d\n",getpid(), ret1, ret2);
    }
    else //1 filho do 2 pai executa e finaliza e tb 2 filho do 1 pai executa e finaliza
    {
      puts("Dentro do else de ret2");
      printf("EU %d; ret 1: %d; ret 2: %d\n e MEU PAI: %d ", getpid(), ret1, ret2, getppid());
    }
   
    printf("Programa %d em execucao \n",getpid());
    // printf("Finalizando %d ...\n", getpid());

return 0;
}